<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Settings
 *
 * @author Admin
 */
class Back_Model_Settings extends Zend_Db_Table_Abstract
{
    protected $_name = 'category_banners';
    
    /**
     * Создание новых параметров для баннера
     * @param array $data 
     */
    public function saveBanner($data) {        
        $this->insert($data);
    }
    
    /**
     * Выборка всех баннеров
     * @return array 
     */
    public function getAllSizeBanners() {
        $select = $this->select()
                       ->from($this->_name);
        return $this->fetchAll($select)->toArray();
    }
    
    /**
     * Удаление выбранного баннера
     * @param int $idBanner 
     */
    public function deleteBanner($idBanner) {
        $this->delete('id =' . intval($idBanner));
    }
    
    /**
     * Выборка параметров выбранного баннера
     * @param int $idBanner
     * @return array 
     */
    public function getSelectBanner($idBanner) {
        $select = $this->select()
                       ->from($this->_name)
                       ->where('id =?', intval($idBanner));
        return $this->fetchRow($select);
    }
    
    /**
     * Редактирование выбранного баннера
     * @param int $idBanner
     * @param array $data 
     */
    public function updateSelectBanner($idBanner, $data) {        
        $this->update($data, 'id =' . intval($idBanner));
    }
    
    /**
     * Редактирование выбранной контекстной рекламы
     * @param array $data 
     */
    public function updateContext($data) {
        $this->_name = 'context_settings';
        $this->update($data);
    }
    
    /**
     * Выборка всех настроек контекстной рекламы
     * @return array 
     */
    public function getAllContextSettings() {
        $this->_name = 'context_settings';
        $select = $this->select()
                       ->from($this->_name);
        return $this->fetchRow($select);
    }
    
    /**
     * Редактирование глобальных настроек системы
     * @param array $data 
     */
    public function updateSystemSettings($data) {
        $this->_name = 'system_settings';
        $this->update($data);
    }
    
    /**
     * Выборка всех настроек системы
     * @return array 
     */
    public function getSystemSettings() {
        $this->_name = 'system_settings';
        $select = $this->select()
                       ->from($this->_name);
        return $this->fetchRow($select);
    }
    
    /**
     * Выборка всех рекламодателей
     * @return array 
     */
    public function getAllAdvertisers() {
        $this->_name = 'advertisers';
        $select = $this->select()
                       ->from($this->_name);
        return $this->fetchAll($select)->toArray();
    }
    
    /**
     * Редактирование личной комиссии выбранного рекламодателя
     * @param int $idAdvertiser
     * @param array $data 
     */
    public function updateCommissionSelectAdver($idAdvertiser, $data) {
        $this->_name = 'commission_select_adv';
        $this->update($data, 'id_advertiser =' . $idAdvertiser);
    }
    
    /**
     * Добавление личной комиссии выбранному рекламодателю
     * @param array $data 
     */
    public function addCommissionToSelectAdver($data) {
        $this->_name = 'commission_select_adv';
        $this->insert($data);
    }
    
    /**
     * Проверка наличия личной комиссии у рекламодателя
     * @param int $idAdvertiser
     * @return array 
     */
    public function getCountCommissionSelectAdver($idAdvertiser) {
        $this->_name = 'commission_select_adv';
        $select = $this->select()
                       ->from($this->_name, array('count' => 'COUNT(*)'))
                       ->where('id_advertiser =?', intval($idAdvertiser));
        return $this->fetchRow($select);
    }
    
    /**
     * Выборка комиссии выбранного рекламодателя
     * @param int $idAdvertiser
     * @return array 
     */
    public function getCommissionSelectAdver($idAdvertiser) {
        $this->_name = 'commission_select_adv';
        $select = $this->select()
                       ->from($this->_name)
                       ->where('id_advertiser =?', intval($idAdvertiser));
        return $this->fetchRow($select);
    }
               
}

?>
